--
-- FILE NAME = ED-5000.MIB ($Revision:   1.9  $)
-- CONTENTS  = MIB Definition for ED-5000 Fibre Channel Switch
--

ED-5000-MIB DEFINITIONS ::= BEGIN

   IMPORTS
      enterprises, Counter
         FROM RFC1155-SMI
      OBJECT-TYPE
         FROM RFC-1212
      TRAP-TYPE
         FROM RFC-1215;

   --
   -- Enterprise Specific Object Identifiers
   --

   mcData         OBJECT IDENTIFIER ::= { enterprises 289 }
   -- Product lines or generic product information
   -- common      OBJECT IDENTIFIER ::= { mcData 1 }
   commDev        OBJECT IDENTIFIER ::= { mcData 2 } -- communication devices

   -- Fibre Channel product lines
   fibreChannel   OBJECT IDENTIFIER ::= { commDev 1 }
   fcSwitch       OBJECT IDENTIFIER ::= { fibreChannel 1 }
   ed-5000        OBJECT IDENTIFIER ::= { fcSwitch 1 }

   -- textual conventions

   DisplayString ::= OCTET STRING

   Ed5000SysOperStatus  ::= INTEGER {
      operational       (1),
      redundant-failure (2),
      minor-failure     (3),
      major-failure     (4),
      not-operational   (5)
   }

   Ed5000SysState ::= INTEGER {
      online         (1),
      coming-online  (2),
      offline        (3),
      going-offline  (4)
   }

   Ed5000FruCode ::= INTEGER {
      fru-bkplane   (1) ,    -- Backplane
      fru-ctp       (2) ,    -- Control Processor card
      fru-mpc       (3) ,    -- Message Path Controller card
      fru-cmm       (4) ,    -- Central Memory Module card
      fru-fan       (5) ,    -- Fan module
      fru-power     (6) ,    -- Power supply module
      fru-panel     (7) ,    -- Operator panel
      fru-gsm       (8) ,    -- G_Port Module card: short wave, multimode (GSM)
      fru-gls       (9) ,    -- G_Port Module card: long wave, single-mode (GLS)
      fru-glx       (10),    -- G_Port Module card: long wave, mixed-mode (GLX)
      fru-lsm       (11),    -- L_Port Module card: short wave, multimode (LSM)
      fru-gxx       (12)     -- G_Port Module card: combo GSM/GLS (GXX)
   }

   Ed5000FruPosition ::= INTEGER (0..255)
   Ed5000FruStatus  ::= INTEGER {
      active      (1),
      backup      (2),
      update-busy (3),
      failed      (4)
   }

   Ed5000PortIndex ::= INTEGER (0..2048)

   Ed5000PortPhyState   ::= INTEGER {
        psNotInstalled  (1),
        psAvailable     (2),
        psBlocked       (3),
        psUnavailable   (4),
        psLinkFailure   (5),
        psLinkFailLOL   (6),
        psIntDiags      (7),
        psExtLoop       (8),
        psPortFail      (9),
        psSR            (10),
        psLR            (11)
   }

   Ed5000PortStatus ::= INTEGER {
                online  (1),
                offline (2),
                testing (3),
                faulty  (4)
   }

   Ed5000PortAdmStatus  ::= INTEGER {
      online   (1),
      offline  (2),
      testing  (3)
   }

   -- Groups in ED-5000 MIB

   ed5000Sys   OBJECT IDENTIFIER ::= { ed-5000 1 }

   ed5000Fru    OBJECT IDENTIFIER ::= { ed-5000 2 }

   ed5000Port    OBJECT IDENTIFIER ::= { ed-5000 3 }

   -- reserved    OBJECT IDENTIFIER ::= { ed-5000 4 }
   -- reserved    OBJECT IDENTIFIER ::= { ed-5000 5 }
   -- reserved    OBJECT IDENTIFIER ::= { ed-5000 6 }
   -- reserved    OBJECT IDENTIFIER ::= { ed-5000 7 }
   -- reserved    OBJECT IDENTIFIER ::= { ed-5000 8 }
   -- reserved    OBJECT IDENTIFIER ::= { ed-5000 9 }

   --
   -- the System Group
   --

   ed5000SysCurrentDate         OBJECT-TYPE
         SYNTAX         DisplayString (SIZE (64))
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "The current date information."
   ::= { ed5000Sys 1 }

   ed5000SysBootDate            OBJECT-TYPE
         SYNTAX         DisplayString (SIZE (64))
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "The date and time of the last IPL"
   ::= { ed5000Sys 2 }

   ed5000SysFirmwareVersion     OBJECT-TYPE
         SYNTAX         DisplayString (SIZE (24))
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "The current version of the firmware."
   ::= { ed5000Sys 3 }

   ed5000SysTypeNum   OBJECT-TYPE
         SYNTAX         DisplayString (SIZE (64))
    ACCESS              read-only
         STATUS         mandatory
         DESCRIPTION    "This object identifies ASCII type
    number for the unit."
   ::= { ed5000Sys 4 }

   ed5000SysModelNum    OBJECT-TYPE
         SYNTAX      DisplayString (SIZE (64))
    ACCESS           read-only
         STATUS      mandatory
         DESCRIPTION    "This object identifies ASCII
    model number for the unit."
   ::= { ed5000Sys 5 }

   ed5000SysMfg         OBJECT-TYPE
         SYNTAX      DisplayString (SIZE (64))
    ACCESS           read-only
         STATUS      mandatory
         DESCRIPTION    "This object identifies ASCII
    manufacturer for the unit."
   ::= { ed5000Sys 6 }

   ed5000SysPlantOfMfg    OBJECT-TYPE
         SYNTAX      DisplayString (SIZE (64))
    ACCESS           read-only
         STATUS      mandatory
         DESCRIPTION    "This object identifies ASCII plant
    of manufacturer for the unit."
   ::= { ed5000Sys 7 }

   ed5000SysSeqNum    OBJECT-TYPE
         SYNTAX      DisplayString (SIZE (64))
    ACCESS           read-only
         STATUS      mandatory
         DESCRIPTION    "This object identifies ASCII
    sequence number for the unit."
   ::= { ed5000Sys 8 }

   ed5000SysEcLevel    OBJECT-TYPE
         SYNTAX      DisplayString (SIZE (64))
    ACCESS           read-only
         STATUS      mandatory
         DESCRIPTION    "This object identifies ASCII EC level
    ID for the unit."
   ::= { ed5000Sys 9 }

   ed5000SysOemSerialNum    OBJECT-TYPE
         SYNTAX      DisplayString (SIZE (64))
    ACCESS           read-only
         STATUS      mandatory
         DESCRIPTION    "This object identifies ASCII OEM
    serial number for the unit"
   ::= { ed5000Sys 10 }

   ed5000SysOperStatus          OBJECT-TYPE
         SYNTAX         Ed5000SysOperStatus
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "The current operational status
    of the switch. The values are defined as follow:
    operational (1), redundant-failure (2), minor-failure (3),
    major-failure (4), not-operational (5)."
   ::= { ed5000Sys 11 }

   ed5000SysState               OBJECT-TYPE
         SYNTAX         Ed5000SysState
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "If the edOperStatus of the switch is
    operational, the switch will be in one of the four states:
    online(1), coming-online(2), offline(3), and going-offline(4)."
   ::= { ed5000Sys 12 }

   ed5000SysAdmStatus           OBJECT-TYPE
    SYNTAX              INTEGER {
                                online  (1),
                                offline (2)
                        }
         ACCESS         read-write
         STATUS         mandatory
         DESCRIPTION    "The desired administrative status
    of the switch. A management station may place the switch
    in a desired state by setting this object accordingly.
    The desired administrative status are online(1) and offline(2).
    The online means setting the switch to be accessible by
    an external Fibre Channel port, and offline means setting
    the switch to be inaccessible."
   ::= { ed5000Sys 13 }

   --
   -- End of System Group
   --

   --
   -- Fibre Channel FRU Group
   -- This group contains FRU information of each Fibre Channel Module.
   --

   ed5000FruTable     OBJECT-TYPE
      SYNTAX         SEQUENCE OF Ed5000FruEntry
      ACCESS         not-accessible
      STATUS         mandatory
      DESCRIPTION    "A table that contains one entry for each module."
      ::= { ed5000Fru 1 }

   ed5000FruEntry     OBJECT-TYPE
      SYNTAX           Ed5000FruEntry
      ACCESS           not-accessible
      STATUS           mandatory
      DESCRIPTION      "An entry containing the service parameters of the module."
      INDEX   { ed5000FruCode,
                ed5000FruPosition }
      ::= { ed5000FruTable 1 }

   Ed5000FruEntry ::= SEQUENCE {
      ed5000FruCode         Ed5000FruCode,
      ed5000FruPosition     Ed5000FruPosition,
      ed5000FruStatus       Ed5000FruStatus,
      ed5000FruPartNumber   DisplayString (SIZE (64)),
      ed5000FruSerialNumber DisplayString (SIZE (64)),
      ed5000FruPowerOnHours Counter,
      ed5000FruTestDate     DisplayString (SIZE (64))
   }

   ed5000FruCode     OBJECT-TYPE
      SYNTAX         Ed5000FruCode
      ACCESS         read-only
      STATUS         mandatory
      DESCRIPTION    "Field Replaceable Unit.
      A hardware component of the product that is replaceable
      as an entire unit. Each module defined in this MIB has
      a fixed FRU code. The values are defined as follow:
      fru-none (0) , fru-bkplane  (1), fru-ctp  (2), fru-mpc (3),
      fru-cmm (4), fru-fan (5), fru-power (6), fru-panel (7),
      fru-gsm (8), fru-gls (9), fru-glx (10), fru-lsm (11), fru-gxx (12)."
      ::= { ed5000FruEntry 1 }

   ed5000FruPosition    OBJECT-TYPE
      SYNTAX             Ed5000FruPosition
      ACCESS             read-only
      STATUS             mandatory
      DESCRIPTION    "This object identifies the position
      of the module. Port cards start from 1 to 8.
      All other cards start from 1 to 1 or 2."
      ::= { ed5000FruEntry 2 }

   ed5000FruStatus    OBJECT-TYPE
      SYNTAX           Ed5000FruStatus
      ACCESS           read-only
      STATUS           mandatory
      DESCRIPTION    "This object identifies the operational
      status of the module. The active(1)
      state indicates that the current module is active.
      The backup(2) state indicates that the back up module is used.
      update-busy (3) state indicates that the module is
      in the updating process. The failed(4) state indicates
      that the current module is failed."
      ::= { ed5000FruEntry 3 }

   ed5000FruPartNumber   OBJECT-TYPE
      SYNTAX              DisplayString (SIZE (64))
      ACCESS              read-only
      STATUS              mandatory
      DESCRIPTION    "This object identifies the part number of the module."
      ::= { ed5000FruEntry 4 }

   ed5000FruSerialNumber    OBJECT-TYPE
      SYNTAX                 DisplayString (SIZE (64))
      ACCESS                 read-only
      STATUS                 mandatory
      DESCRIPTION    "This object identifies the serial number of the module."
      ::= { ed5000FruEntry 5 }

   ed5000FruPowerOnHours    OBJECT-TYPE
      SYNTAX                 Counter
      ACCESS                 read-only
      STATUS                 mandatory
      DESCRIPTION    "This object indicates the number of the hours that the
                      FRU has been in operation."
      ::= { ed5000FruEntry 6 }

   ed5000FruTestDate    OBJECT-TYPE
      SYNTAX             DisplayString (SIZE (64))
      ACCESS             read-only
      STATUS             mandatory
      DESCRIPTION    "This object indicates final test date of the module."
      ::= { ed5000FruEntry 7 }

   --
   -- End of Fibre Channel FRU Group
   --

   --
   -- Fibre Channel Port Group
   -- This group contains information about each Fibre Channel port.
   --

   ed5000PortTable     OBJECT-TYPE
      SYNTAX         SEQUENCE OF Ed5000PortEntry
      ACCESS         not-accessible
      STATUS         mandatory
      DESCRIPTION    "A table that contains one entry
      for each switch port (stitch only)."
      ::= { ed5000Port 1 }

   ed5000PortEntry     OBJECT-TYPE
      SYNTAX         Ed5000PortEntry
      ACCESS         not-accessible
      STATUS         mandatory
      DESCRIPTION    "An entry containing the information of the switch port."
      INDEX   { ed5000PortIndex }
      ::= { ed5000PortTable 1 }

   Ed5000PortEntry ::= SEQUENCE {
      ed5000PortIndex           Ed5000PortIndex,
      ed5000PortPhyState        Ed5000PortPhyState,
      ed5000PortOpStatus        Ed5000PortStatus,
           ed5000PortAdmStatus       Ed5000PortAdmStatus,

           -- the rest is mapped to gstat_t
           ed5000PortTxWords                 Counter,
           ed5000PortRxWords                 Counter,
           ed5000PortTxFrames        Counter,
           ed5000PortRxFrames        Counter,
           ed5000PortRxC2Frames      Counter,
           ed5000PortRxC3Frames      Counter,
           ed5000PortRxLCs                   Counter,
           ed5000PortRxMcasts        Counter,
           ed5000PortTooManyRdys          Counter,
           ed5000PortNoTxCredits          Counter,
           ed5000PortRxEncFrs        Counter,
           ed5000PortRxCrcs                  Counter,
           ed5000PortRxTruncs        Counter,
           ed5000PortRxTooLongs      Counter,
           ed5000PortRxBadEofs       Counter,
           ed5000PortRxBadOs                 Counter,
           ed5000PortC3Discards      Counter,
           ed5000PortMcastTimedOuts  Counter,
           ed5000PortTxMcasts        Counter,
      ed5000PortTxThroughput    Counter,
      ed5000PortRxThroughput    Counter
   }

   ed5000PortIndex     OBJECT-TYPE
      SYNTAX         Ed5000PortIndex
      ACCESS         read-only
      STATUS         mandatory
      DESCRIPTION    "This object identifies the switch port."
      ::= { ed5000PortEntry 1 }

   ed5000PortPhyState   OBJECT-TYPE
    SYNTAX              Ed5000PortPhyState
    ACCESS              read-only
         STATUS         mandatory
         DESCRIPTION    "This object identifies the physical state of the port."
   ::= { ed5000PortEntry 2 }

   ed5000PortOpStatus  OBJECT-TYPE
      SYNTAX         Ed5000PortStatus
      ACCESS         read-only
      STATUS         mandatory
      DESCRIPTION    "This object identifies the operational
      status of the port. The online state indicates that user frames
      can be passed."
      ::= { ed5000PortEntry 3 }

   ed5000PortAdmStatus  OBJECT-TYPE
         SYNTAX         Ed5000PortAdmStatus
         ACCESS         read-write
         STATUS         mandatory
         DESCRIPTION    "The desired state of the port.
    A management station may place the port in a desired
    state by setting this object accordingly. The testing(3)
    state indicates that no user frames can be passed.
    As the result of either explicit management action
    or per configuration information accessible by the switch,
    ed5000PortAdmStatus is then changed to either the online(1)
    or testing(3) states,       or remains in the offline state."
   ::= { ed5000PortEntry 4 }

   ed5000PortTxWords    OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "This object counts the number of
    Fibre Channel words that the port has transmitted."
   ::= { ed5000PortEntry 11 }

   ed5000PortRxWords    OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "This object counts the number of
    Fibre Channel words that the port has received."
   ::= { ed5000PortEntry 12 }
                -- does this include primitive signals, primitive sequence or
                -- just words within frames?

   ed5000PortTxFrames   OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "This object counts the number of
    (Fibre Channel) frames that the port has transmitted."
   ::= { ed5000PortEntry 13 }

   ed5000PortRxFrames   OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "This object counts the number of
    (Fibre Channel) frames that the port has received."
   ::= { ed5000PortEntry 14 }

   ed5000PortRxC2Frames OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "This object counts the number of
    Class 2 frames that the port has received."
   ::= { ed5000PortEntry 15 }

   ed5000PortRxC3Frames OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "This object counts the number of
    Class 3 frames that the port has received."
   ::= { ed5000PortEntry 16 }

   ed5000PortRxLCs              OBJECT-TYPE
    SYNTAX              Counter
         ACCESS         read-only
    STATUS              mandatory
    DESCRIPTION "This object counts the number of
    Link Control frames that the port has received."
   ::= { ed5000PortEntry 17 }

   ed5000PortRxMcasts   OBJECT-TYPE
         SYNTAX         Counter
    ACCESS              read-only
         STATUS         mandatory
         DESCRIPTION    "This object counts the number of
    Multicast frames that the port has received."
   ::= { ed5000PortEntry 18 }

   ed5000PortTooManyRdys        OBJECT-TYPE
    SYNTAX              Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "This object counts the number of
    2.26 micro second intervals where the transmission of RDYs has
    priority over the transmission of frame traffic. 
    (In 2.x releases and below, this counter gets incremented continuously 
     and therefore has no meaning. In release 3.0 and above, it is always 0.)"
   ::= { ed5000PortEntry 19 }

   ed5000PortNoTxCredits        OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
    STATUS              mandatory
         DESCRIPTION    "This object counts the amount of time
    that frame transmission is blocked by a transmit credit of zero.
    This is sampled once every 120 53.125 MHZ clocks,
    and the counter is incremented by 1 if the condition is true."
   ::= { ed5000PortEntry 20 }

   ed5000PortRxEncFrs   OBJECT-TYPE
    SYNTAX              Counter
    ACCESS              read-only
    STATUS              mandatory
         DESCRIPTION    "This object counts the number of
    encoding error or disparity error inside or outside
    frames received."
   ::= { ed5000PortEntry 21 }

   ed5000PortRxCrcs             OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "This object counts the number of
    CRC errors detected for frames received."
   ::= { ed5000PortEntry 22 }

   ed5000PortRxTruncs   OBJECT-TYPE
    SYNTAX              Counter
    ACCESS              read-only
    STATUS              mandatory
    DESCRIPTION "This object counts the number of
    truncated frames that the port has received."
   ::= { ed5000PortEntry 23 }

   ed5000PortRxTooLongs OBJECT-TYPE
         SYNTAX         Counter
    ACCESS              read-only
    STATUS              mandatory
         DESCRIPTION    "This object counts the number of
    received frames that are too long."
   ::= { ed5000PortEntry 24 }

   ed5000PortRxBadEofs  OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "This object counts the number of
    received frames that have bad EOF delimiter."
   ::= { ed5000PortEntry 25 }

   ed5000PortRxBadOs            OBJECT-TYPE
    SYNTAX              Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "This object counts the number of
    invalid Ordered Sets received."
   ::= { ed5000PortEntry 26 }

   ed5000PortC3Discards OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "This object counts the number of
    Class 3 frames that the port has discarded."
   ::= { ed5000PortEntry 27 }

   ed5000PortMcastTimedOuts     OBJECT-TYPE
    SYNTAX              Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "This object counts the number of
    Multicast frames that has been timed out."
   ::= { ed5000PortEntry 28 }

   ed5000PortTxMcasts   OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "This object counts the number of
    Multicast frames that has been transmitted."
   ::= { ed5000PortEntry 29 }

   ed5000PortTxThroughput       OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "This object presents the Bps transmission rate."
   ::= { ed5000PortEntry 30 }

   ed5000PortRxThroughput       OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "This object presents the Bps reception rate."
   ::= { ed5000PortEntry 31 }

   --
   -- End of Fibre Channel Port Group
   --


   --
   -- ED-5000 Enterprise Specific Trap Definitions
   --

   ed5000PortScn       TRAP-TYPE
      ENTERPRISE     mcData
      VARIABLES      { ed5000PortOpStatus }
      DESCRIPTION    "An ed5000PortScn(1) is generated
      whenever a Fc_Port changes its operational state.
      For instance, the Fc_Port goes from on-line to offline."
      ::= 1

   ed5000FruScn       TRAP-TYPE
      ENTERPRISE     mcData
      VARIABLES      { ed5000FruStatus }
      DESCRIPTION    "An ed5000FruScn(2) is generated
      whenever a FRU status changes its operational state."
      ::= 2

END